<?php

/**
 * ws actions.
 *
 * @package    BecArTe
 * @subpackage ws
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class wsActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
/*    $client=new SoapClient("http://localhost/BecArTe/web/wsApi.wsdl");
    $res=$client->ObtenerAntecedentesPenales('DNI','123456');
echo '<pre>';
    var_dump($res->item);
    $res=$client->ObtenerAntecedentesPenales('DNI','12345');
    var_dump($res->item); */
  }

  /**
   * Retorna los antecedentes penales de una persona dados su tipo
   * y numero de documento.
   * Los números pares no tienen antecedentes, los impares sí.
   *
   * @WSMethod(name='ObtenerAntecedentesPenales', webservice='wsApi')
   * no me anduvo WSMethod(webservice='wsApi')
   *
   * @param string $tipo_doc Tipo Documento (DNI, PAS, LE, LC)
   * @param string $numero Número de documento sin puntos ni guiones. 10 caracteres.
   *
   * @return string[] Antecedentes penales.
   */
  public function executeConsulta(sfWebRequest $request)
  {
    //Preguntar si viene por WS o por web: if($this->isSoapRequest())
//probar que pasa ante error externo:    throw new Exception('Servicio no disponible');
    $tipo = $request->getParameter('tipo_doc');
    $numero = $request->getParameter('numero');
    if($tipo != null && $numero != null) {
      if(((int) $numero) % 2) {
         $result = array('No se registran antecedentes para '.$tipo.' '.$numero);
      } else {
         $result = array(
                'Se registran 2 antecedentes para '.$tipo.' '.$numero,
                "2009-08-25 (Capital Federal, Bs As, Argentina)\n". //con " para que tome el enter
                    'Agresión a personal policial',
                "2011-01-25 (Rosario, Santa Fé, Argentina)\n".
                    'Asalto a mano armada'
                );
      }
      $this->ancedentes_penales = $result;
      return sfView::SUCCESS;
    } else {
      return sfView::ERROR;
    } 
  }


}
